package org.cg.entidade;

import org.apache.log4j.Logger;
import org.cg.componente.Energia;
import org.cg.componente.Movimento;
import org.cg.componente.Posicao;
import org.cg.entidade.estado.EstadoCoelho;

/**
 * Coelho
 * 
 * @author luisboal
 *
 */
public class Coelho extends Entidade {
	
	private static Logger logger = Logger.getLogger(Coelho.class);
	
	private Energia energia;
	private Posicao posicao;
	private Movimento movimento;

	public Coelho(int eM, int eS, int eC, int x, int y){
		energia = new Energia(eS+eC+eM, eC, eS, eM);
		posicao = new Posicao(x,y);
		movimento = new Movimento();
		estadoActual = new EstadoCoelho();
	}

	public Posicao getPosicao() {
		return posicao;
	}

	public Energia getEnergia() {
		return energia;
	}

	public Movimento getMovimento() {
		return movimento;
	}
	
	public void log() {
		logger.debug(toString());
	}
	
	@Override
	public String toString() {
		StringBuffer sb = new StringBuffer("[ ");
		sb.append("{ ").append(this.getEstadoActual().getClass()).append(" } ")
		.append("{ ").append(this.energia).append(" } ")
		.append("{ ").append(this.posicao).append(" } ")
		.append("{ ").append(this.movimento).append(" } ]");
		return sb.toString();
	}
}
